package euclid;

/**
 * Interface definition: Coordinator.
 * 
 * @author OpenORB Compiler
 */
public interface CoordinatorOperations
{
    /**
     * Operation getStarterList
     */
    public euclid.Starter[] getStarterList();

    /**
     * Operation startGcdCalculation
     */
    public void startGcdCalculation(int minNumberProcess, int maxNumberProcess, int minDelay, int maxDelay, int timeout, int gcd)
        throws euclid.CoordinatorPackage.exInvalidParameter, euclid.CoordinatorPackage.exNoStarter;

    /**
     * Operation endCalculation
     */
    public void endCalculation(int result);

    /**
     * Operation logClient
     */
    public void logClient(euclid.Client client);

    /**
     * Operation logMonitor
     */
    public void logMonitor(monitor.Monitor monitor);

    /**
     * Operation logStarter
     */
    public void logStarter(euclid.Starter starter);

    /**
     * Operation logProcess
     */
    public void logProcess(String starter, int id);

    /**
     * Operation endSystem
     */
    public void endSystem();

}
